package com.yungu.swift.order.model.vo;

import com.yungu.swift.base.model.annotation.Desensitization;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
public class AdminMainOrderInfoVo implements Serializable {
    /**
     * 主订单号
     */
    private String mainOrderNo;

    /**
     * 主订单ID
     */
    private String mainOrderUuid;

    /**
     * 线路起点名称
     */
    private String originName;

    /**
     * 线路终点名称
     */
    private String destName;

    /**
     * 车型名称
     */
    private String carModelName;

    /**
     * 司机名称
     */
    @Desensitization(type = Desensitization.DesensitionType.NAME)
    private String driverName;

    /**
     * 车牌号
     */
    private String plateNum;

    /**
     * 司机号码
     */
    @Desensitization(type = Desensitization.DesensitionType.MOBILE)
    private String driverMobile;

    /**
     * 下单时间
     */
    private Date createOn;

    /**
     * 成人总数
     */
    private Integer adultNumTotal;

    /**
     * 拼车单总数
     */
    private Integer joinOrderNum;

    /**
     * 跨城小件订单总数
     */
    private Integer parcelOrderNum;

    /**
     * 跨城子订单信息
     */
    private List<AdminChildOrderInfoVo> childOrderInfoVoList;

    /**
     * 子订单ID拼接字符串
     */
    private String orderUuidStr;

    /**
     * 司机ID
     */
    private String driverUuid;

    /**
     * 线路ID
     */
    private String wayUuid;

    /**
     * 车型ID
     */
    private String carModelUuid;

    /**
     * 乘客下单所需座位数
     */
    private Integer seatNum;

    /**
     * 拼车类型 1拼车 2包车 3小件 4二人快车
     */
    private Integer typeJoin;

    /**
     * 订单需求类型 1普通拼车 2机场专线
     */
    private Integer orderDemand;

    /**
     * 订单来源备注
     */
    private String sourceRemark;

    /**
     * 主单状态
     */
    private Integer mainJoinStatus;

    /**
     * 剩余人数
     */
    private int resNum;

}
